package com.ruoyi.entity.po;

import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import lombok.Data;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;

/**
 * @author chenhainan
 * @since 2024-12-11 20:00
 */
/**
 * 选手动态评价
 */
@ApiModel(description="选手动态评价")
@Schema(description="选手动态评价")
@Accessors(chain = true)
@Data
public class TPlayerTweetsComments extends BaseEntity implements Serializable {
    @ApiModelProperty(value="")
    @Schema(description="")
    @NotNull(message = "不能为null")
    private Integer id;

    /**
    * 选手id
    */
    @ApiModelProperty(value="选手id")
    @Schema(description="选手id")
    @NotNull(message = "选手id不能为null")
    private Integer playerId;

    /**
    * 选手名
    */
    @ApiModelProperty(value="选手名")
    @Schema(description="选手名")
    @Size(max = 20,message = "选手名最大长度要小于 20")
    @NotBlank(message = "选手名不能为空")
    private String playerName;

    /**
    * 评论用户id
    */
    @ApiModelProperty(value="评论用户id")
    @Schema(description="评论用户id")
    @NotNull(message = "评论用户id不能为null")
    private Integer commentUserId;

    /**
    * 评论用户名
    */
    @ApiModelProperty(value="评论用户名")
    @Schema(description="评论用户名")
    @Size(max = 20,message = "评论用户名最大长度要小于 20")
    @NotBlank(message = "评论用户名不能为空")
    private String commentUserName;

    /**
    * 评论用户类型 1 评委 2 选手
    */
    @ApiModelProperty(value="评论用户类型 1 评委 2 选手")
    @Schema(description="评论用户类型 1 评委 2 选手")
    @NotNull(message = "评论用户类型 1 评委 2 选手不能为null")
    private Integer commentUserType;

    /**
    * 评论类型 1 点赞 2 倒赞 3 评论
    */
    @ApiModelProperty(value="评论类型 1 点赞 2 倒赞 3 评论")
    @Schema(description="评论类型 1 点赞 2 倒赞 3 评论")
    @NotNull(message = "评论类型 1 点赞 2 倒赞 3 评论不能为null")
    private Integer commentType;

    /**
    * 内容
    */
    @ApiModelProperty(value="内容")
    @Schema(description="内容")
    @Size(max = 255,message = "内容最大长度要小于 255")
    @NotBlank(message = "内容不能为空")
    private String content;

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", playerId=").append(playerId);
        sb.append(", playerName=").append(playerName);
        sb.append(", commentUserId=").append(commentUserId);
        sb.append(", commentUserName=").append(commentUserName);
        sb.append(", commentUserType=").append(commentUserType);
        sb.append(", commentType=").append(commentType);
        sb.append(", content=").append(content);
        sb.append(", createTime=").append(super.getCreateTime());
        sb.append("]");
        return sb.toString();
    }
}